@时光机
2年前 提问
1个回答

安卓系统加固技术有哪些

Ann
2年前

安卓系统加固技术有以下这些:

  • 进程沙箱隔离技术:安卓应用程序在安装时被赋予独特的用户标识(UID),并永久保持。应用程序及其运行的Dalvik虚拟机运行于独立的Linux进程空间,与UID不同的应用程序完全隔离。

  • 应用程序签名技术:应用程序包(.apk文件)必须被开发者数字签名。同一开发者可指定不同的应用程序共享UID,进而运行于同一进程空间,共享资源。

  • 权限声明技术:应用程序需要显式声明权限、名称、权限组与保护级别。不同的级别要求应用程序行使此权限时的认证方式不同Normal级申请即可用。Dangerous级需在安装时由用户确认才可用。签名与签名系统则必须是系统用户才可用。

  • 访问控制技术:传统的Linux访问控制机制确保系统文件与用户数据不受非法访问。

  • 进程通信技术:Binder进程通信机制提供基于共享内存的高效进程通信。Binder基于CS模式,提供类似COM与CORBA的轻量级远程进程调用(RPC)。通过接口描述语言(AIDL)定义接口与交换数据的类型,确保进程间通信的数据不会溢出越界,污染进程空间。

  • 内存管理技术:基于标准Linux的低内存管理机制(OOM),设计实现了独特的低内存清理(LMK)机制,将进程按重要性分级、分组,当内存不足时,自动清理最低级别进程所占用的内存空间。同时,引入不同于传统Linux共享内存机制的安卓共享内存机制Ashmem,具备清理不再使用共享内存区域的能力。